Computer systems have been developed to log various information. For example, certain systems, such as that of U.S. Pat. No. 6,085,244 titled “Dynamic Test Update in a Remote Computer Monitoring System,” have been developed for monitoring computer systems and storing system diagnostic information resulting from execution of diagnostic programs. Thus, this type of monitoring technique uses diagnostic programs that periodically execute to collect such diagnostic information as error messages from log files, system crash data, list of installed patches and revisions, hardware configuration (RAM, disk space, SCSI devices), and administrative problems (full disk partitions, low swap space).
Also, certain computer devices have been developed to include an integrated self-monitoring component for monitoring a certain aspect of the computer device. For instance, U.S. Pat. No. 5,961,215 titled “Temperature Sensor Integral with Microprocessor and Methods of Using Same” provides a temperature sensor that is integral with a microprocessor, where the temperature sensor can be used to reduce the clock speed of the microprocessor when the microprocessor temperature exceeds a predetermined temperature or to store temperature-indicating data in non-volatile memory of the microprocessor to provide a thermal history of the microprocessor.
Some systems include techniques for logging information about a user's input (e.g., keystrokes) to the computer system. Such techniques may be included for security or other monitoring purposes. For instance, certain systems include techniques for logging usage of a given software application program by a user in order to provide time/usage-based billing to the user, such as in U.S. Pat. No. 5,155,680 titled “Billing System for Computing Software.”
As another example, U.S. Pat. No. 6,622,116 titled “Time and Activity Tracker” discloses a time tracking system to document how long a user has been working on a specified task by logging information regarding the user's computer activity such as keyboard and mouse activity, file access activity, etc. to tabulate a chronological summary of the user's activities, which enables such information to be used for proving the amount of work the user performed on a given project. However, the above techniques fail to adequately log usage of hardware components of a computer system by a user. Further, the above techniques have not provided effective use of the logged information by a computer manufacturer for making design decisions regarding the appropriate computer system for its customers.